package ar.edu.utn.frsf.tpae.a2012.g05.mock;

import java.util.ArrayList;
import java.util.List;

import ar.edu.utn.frsf.tpae.a2012.g05.dao.ClienteDao;
import ar.edu.utn.frsf.tpae.a2012.g05.entity.Cliente;

public class ClienteMockDao implements ClienteDao {
	private List<Cliente> clientes = new ArrayList<Cliente>();

	public Cliente saveOrUpdate(Cliente cliente) {
		this.clientes.add(cliente);
		return cliente;
	}

	public void delete(Cliente cliente) throws Exception {
		if (!this.clientes.remove(cliente))
			throw new Exception("El elemento que se intenta eliminar no existe");
	}

	public Cliente findById(Integer id) {
		for(Cliente cliente : this.clientes) {
			if(cliente.getId() == id)
				return cliente;
		}
		return null;
	}

	public Cliente findByNumber(String id) {
		for(Cliente cliente : this.clientes) {
			if(cliente.getNumero().equals(id))
				return cliente;
		}
		return null;
	}

	public List<Cliente> findAll() {
		return this.clientes;
	}

}
